package com.delivery.www.dao;

import com.delivery.www.po.HaveCoupon;

import java.util.List;

/**
 * @author 12970
 */
public interface HaveCouponDao {

    /**
     * 是已领取
     * @param couponId 优惠券id
     * @param userId 店铺id
     * @return 是否存在
     */
    HaveCoupon ifExist(int couponId, int userId);
    /**
     * 领取券
     *
     * @param couponId 优惠券id
     * @param time     领取时间
     * @param userId   用户id
     * @param storeId  店铺id
     * @param status   是否过期
     * @return 修改行数
     */
    int add(int couponId, String time, int userId, int storeId, int status);

    /**
     * 获取用户已领取的优惠券
     *
     * @param userId  用户id
     * @param storeId 店铺id
     * @param status 状态
     * @return 获取用户已领取
     */
    List<HaveCoupon> getUserCoupon(int userId, int storeId, int status);

    /**
     * 获取用户所有已领取的优惠券
     *
     * @param userId 用户id
     * @return 获取用户已领取
     */
    List<HaveCoupon> getCoupon(int userId);

    /**
     * 修改是否已过期或已使用
     *
     * @param  haveCoupons 需要修改状态的优惠券列表
     * @return 修改后的用户领取列表
     */
    List<HaveCoupon> modifyStatusOver(List<HaveCoupon> haveCoupons);


}
